10
תגובות
החלפנו את כתובות המשחקים במומו לכתובות פשוטות עם מספר בלבד, במקום שם המשחק בעברית + מספר + תקיה בעבר.
הבעיה - אנחנו לא יודעים איך לעשות רידיירקט מהכתובת הישנה לחדשה.
כיוון שיש 5000 + כתובות כאלו, אי אפשר לעשות זאת ידנית וחובה ליצור איכשהו רידיירקט דינמי, הלוקח את המספר שבכתובת ועושה הפניית 301 לעמוד עם סיומת HTML .
לדוגמא,

הכתובת הישנה

http://www.moomoo.co.il/%D7%9E%D7%A9%D7%97%D7%A7%D7%99%D7%9D/view/id/853/%D7%9E%D7%A9%D7%97%D7%A7/%D7%9E%D7%9C%D7%9A+%D7%94%D7%A0%D7%A7%D7%A0%D7%99%D7%A7%D7%99%D7%95%D7%AA

צריכה להפנות אל

http://games.moomoo.co.il/853.html


וכך הלאה לגבי כל המשחקים.


בנוסף

גם העמודים הישנים מהצורה

www.moomoo.co.il/משחקים/view/id/277


צריכים לעשות רידיירקט לעמוד החדש

http://games.moomoo.co.il/277.html


אני לא רוצה שהכתובות הישנות יעבדו. אני רק רוצה שיקשרו אל המשחק לפי ה ID המתאים. יעשו רידיירקט 301 אליו. יקחו את המספר המופיע בכתובת, ויפנו אל העמוד games.moomoo.co.il/-number-.html


תודה ענקית לעזורים!


עמיחי
מומו הפרה

10 תשובות

avatar ענה intval ב 09 למאי 2012 #

אתה יכול לצרף את ה htaccess הקודם שהיה אחראי לפענח את הכתובת? (לוודא שהתאני החדש תואם את הקישורים שהיו)

RewriteEngine On
RewriteRule ^משחקים/view/id/([0-9]*) $1.html [R=301, L]

avatar ענה משתמש_207836 ב 09 למאי 2012 #

נראה לי שזה זה.

בזמנו כשעברנו לכתובות בעברית, עשינו רידיירקט מהכתובת המקורית
games.moomoo.co.il/game.php?id=3747

לדבר כזה

http://www.moomoo.co.il/%D7%9E%D7%A9%D7%97%D7%A7%D7%99%D7%9D/view/id/3747/%D7%9E%D7%A9%D7%97%D7%A7/%D7%91%D7%95%D7%A2%D7%95%D7%AA+%D7%91%D7%A6%D7%A8%D7%95%D7%A8%D7%95%D7%AA+2




הנה הקוד


#RewriteRule ^([0-9]{1,10})\.html$ /game.php?id=$1&frame=0 [L]
RewriteRule ^([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקים/view/id/$1 [R=301,L]

#RewriteRule ^f([0-9]{1,10})\.html$ /game.php?id=$1&frame=1 [L]
RewriteRule ^f([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקים/view/id/$1 [R=301,L]

#RewriteRule ^s([0-9]{1,10})\.html$ /game.php?id=$1&summer=1 [L]
RewriteRule ^s([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקים/view/id/$1 [R=301,L]


חשוב לציין שהמתכנת עשה זאת לפני שנה והוא לא זמין יותר.

אני רוצה להחזיר אחורה.
להפנות הכל, אל

http://games.moomoo.co.il/3747.html

לקחת את המספר בכתובת ולהפנות לעמוד עם סיומת HTML עם אותו מספר

avatar ענה intval ב 09 למאי 2012 #

התנאי למעלה נראה בסדר גמור.
הוא עובד לך ?

avatar ענה משתמש_207836 ב 09 למאי 2012 #

הוא היה בשרת הישן והוא עבד.

הפעם אני רוצה לעשות הפוך כאילו - להפנות הכל - את שתי הכתובות שבתנאי הקודם

#RewriteRule ^s([0-9]{1,10})\.html$ /game.php?id=$1&summer=1 [L]
RewriteRule ^s([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקים/view/id/$1 [R=301,L]

ל http://games.moomoo.co.il/-number-.html

מה עלי לעשות?

avatar ענה intval ב 09 למאי 2012 #

הקוד למעלה לא עובד ?

avatar ענה משתמש_207836 ב 09 למאי 2012 #

הוא מהשרת הקודם והוא עובד.
אבל אני רוצה לעשות הפוך. לקחת את שתי הכתובות של הקוד הקודם (גם המקור וגם היעד)ולהפנות את שתיהן לכתובת החדשה...

avatar ענה intval ב 09 למאי 2012 #

הקוד שאני כתבתי למעלה עובד ?

avatar ענה משתמש_207836 ב 09 למאי 2012 #

חחח מצטער על חוסר ההבנה שלי.

הוספתי אותו ל .htaccess ועדיין....

הכתובות בצורה
http://www.moomoo.co.il/%D7%9E%D7%A9%D7%97%D7%A7%D7%99%D7%9D/view/id/401/%D7%9E%D7%A9%D7%97%D7%A7/%D7%91%D7%90%D7%91%D7%9C+%D7%98%D7%A8%D7%90%D7%91%D7%9C+2


לא עובדות

וגם הצורה
www.moomoo.co.il/משחקים/view/id/277
לא עובדת :\


תודה

avatar ענה intval ב 09 למאי 2012 #

הבעיה היית ברווח לפני האות L
הקוד הזה יעבוד:

RewriteEngine On
RewriteRule ^משחקים/view/id/([0-9]+) /$1.html [R=301,L]

avatar ענה משתמש_207836 ב 10 למאי 2012 #

הסתדר.

תודה רבה :]